package collection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 集合之间的操作
 * 并集,交集,差集
 */
public class CollectionDemo3 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList<>();
        c1.add("java");
        c1.add("c++");
        c1.add(".net");
        System.out.println("c1:" + c1);

        Collection c2 = new ArrayList<>();
        c2.add("android");
        c2.add("ios");
        c2.add("java");
        System.out.println("c2:" +c2);

        /*
        取并集
        boolean addAll(Collection c)
        将给定集合中的所有元素添加到当前集合
         */

        c2.addAll(c1);//c1中与c2重复的元素无法两次存c2
        System.out.println(c1);
        System.out.println(c2);

        Collection c3 = new ArrayList<>();
        c3.add("php");
        c3.add("java");
        c3.add("c++");
        System.out.println("c3:" + c3);
        /*
        取交集
        retainAll(Collection c)
        保留当前集合中与给定集合的共有元素,参数集合元素不受任何影响
         */
        c1.removeAll(c3);
        System.out.println("c1:" + c1);
        System.out.println("c3" + c3);

        /*
        取差集
        removeAll(Collection c)
        删除当前集合中与给定集合共有的元素，参数集合元素不受任何影响
         */

        c2 .removeAll(c3);
        System.out.println("c2:" + c2);
        System.out.println("c3:" + c3);


        Collection c4 = new ArrayList<>();
        c4.add(".net");
        c4.add("ios");
//        c4.add("php");
        System.out.println("c4:" + c4);

        /*
        boolean containsAll(Collection c)
        判断当前集合是否包含给定集合中的所有元素
         */

        boolean containsAll = c2.containsAll(c4);
        System.out.println("全包含:" + containsAll);


    }
}
